The tendency to denser and denser integration of computer hardware leads to the requirement to have greater and greater computational power available for this hardware.
In every application, there are differing information processing needs.
Two classes of processing are distinguished:                scalar processing not calling upon a dedicated digital signal processor (DSP)        vector processing calling upon a DSP.        
Scalar processing encompasses a high-level task which is the monitoring of the application or the management of functioning and tasks which are generally carried out by hard-wired logic or a processor which may be identified as protocol processing.
Vector processing includes signal processing tasks generally carried out by a DSP and matrix computation which requires a more powerful structure than that of the DSP and which is generally of the “array processor” type.
Currently, in low-cost applications, it is sought to reduce the number of processors to the minimum, so much so that, depending on the type of application, the main processor which monitors the progress of an algorithm will be either a microprocessor, or a DSP. If a protocol processing is needed in this application, it is endeavoured to process this protocol in the processor or in the dedicated digital signal processor DSP.
Since protocol processing is highly oriented towards bit manipulation and interrupts, it will not be very costly if it is carried out by the microprocessor. By contrast, if a DSP is used, the structure of the processor and the instruction set will be poorly suited and will result in a loss of efficiency in the sense that more instructions will be required and utilization of the available silicon will be poor.
The same remark may be made as regards matrix processing which can be performed by a DSP since it contains a hard-wired multiplier. However, a microprocessor is very poorly suited to performing such a matrix processing.